"""Constants definition module.
This module defines all constants used in the RPA service.
"""

from plugin.rpa.consts.app.app_keys import SERVICE_PORT_KEY
from plugin.rpa.consts.log.log_keys import LOG_LEVEL_KEY, LOG_PATH_KEY
from plugin.rpa.consts.otlp.otlp_keys import (
    KAFKA_SERVERS_KEY,
    KAFKA_TIMEOUT_KEY,
    KAFKA_TOPIC_KEY,
    OTLP_DC_KEY,
    OTLP_ENABLE_KEY,
    OTLP_ENDPOINT_KEY,
    OTLP_METRIC_EXPORT_INTERVAL_MILLIS_KEY,
    OTLP_METRIC_EXPORT_TIMEOUT_MILLIS_KEY,
    OTLP_METRIC_TIMEOUT_KEY,
    OTLP_SERVICE_NAME_KEY,
    OTLP_TRACE_EXPORT_TIMEOUT_MILLIS_KEY,
    OTLP_TRACE_MAX_EXPORT_BATCH_SIZE_KEY,
    OTLP_TRACE_MAX_QUEUE_SIZE_KEY,
    OTLP_TRACE_SCHEDULE_DELAY_MILLIS_KEY,
    OTLP_TRACE_TIMEOUT_KEY,
    SERVICE_NAME_KEY,
)
from plugin.rpa.consts.rpa.rpa_keys import (
    XIAOWU_RPA_PING_INTERVAL_KEY,
    XIAOWU_RPA_TASK_CREATE_URL_KEY,
    XIAOWU_RPA_TASK_QUERY_INTERVAL_KEY,
    XIAOWU_RPA_TASK_QUERY_URL_KEY,
    XIAOWU_RPA_TIMEOUT_KEY,
)

__all__ = [
    # server_keys
    "SERVICE_NAME_KEY",
    # app_keys
    "SERVICE_PORT_KEY",
    # log_keys
    "LOG_LEVEL_KEY",
    "LOG_PATH_KEY",
    # rpa_keys
    "XIAOWU_RPA_PING_INTERVAL_KEY",
    "XIAOWU_RPA_TASK_CREATE_URL_KEY",
    "XIAOWU_RPA_TASK_QUERY_INTERVAL_KEY",
    "XIAOWU_RPA_TASK_QUERY_URL_KEY",
    "XIAOWU_RPA_TIMEOUT_KEY",
    # otlp_keys server use
    "OTLP_ENABLE_KEY",
    "OTLP_DC_KEY",
    "OTLP_SERVICE_NAME_KEY",
    "KAFKA_TOPIC_KEY",
    # otlp_keys common use
    "OTLP_ENDPOINT_KEY",
    "OTLP_METRIC_EXPORT_INTERVAL_MILLIS_KEY",
    "OTLP_METRIC_EXPORT_TIMEOUT_MILLIS_KEY",
    "OTLP_METRIC_TIMEOUT_KEY",
    "OTLP_TRACE_TIMEOUT_KEY",
    "OTLP_TRACE_MAX_QUEUE_SIZE_KEY",
    "OTLP_TRACE_SCHEDULE_DELAY_MILLIS_KEY",
    "OTLP_TRACE_MAX_EXPORT_BATCH_SIZE_KEY",
    "OTLP_TRACE_EXPORT_TIMEOUT_MILLIS_KEY",
    "KAFKA_SERVERS_KEY",
    "KAFKA_TIMEOUT_KEY",
]

base_keys = [
    SERVICE_NAME_KEY,
    SERVICE_PORT_KEY,
    LOG_LEVEL_KEY,
    LOG_PATH_KEY,
    XIAOWU_RPA_PING_INTERVAL_KEY,
    XIAOWU_RPA_TASK_CREATE_URL_KEY,
    XIAOWU_RPA_TASK_QUERY_INTERVAL_KEY,
    XIAOWU_RPA_TASK_QUERY_URL_KEY,
    XIAOWU_RPA_TIMEOUT_KEY,
]

otlp_keys = [
    OTLP_ENABLE_KEY,
    OTLP_DC_KEY,
    OTLP_SERVICE_NAME_KEY,
    KAFKA_TOPIC_KEY,
    OTLP_ENDPOINT_KEY,
    OTLP_METRIC_EXPORT_INTERVAL_MILLIS_KEY,
    OTLP_METRIC_EXPORT_TIMEOUT_MILLIS_KEY,
    OTLP_METRIC_TIMEOUT_KEY,
    OTLP_TRACE_TIMEOUT_KEY,
    OTLP_TRACE_MAX_QUEUE_SIZE_KEY,
    OTLP_TRACE_SCHEDULE_DELAY_MILLIS_KEY,
    OTLP_TRACE_MAX_EXPORT_BATCH_SIZE_KEY,
    OTLP_TRACE_EXPORT_TIMEOUT_MILLIS_KEY,
    KAFKA_SERVERS_KEY,
    KAFKA_TIMEOUT_KEY,
]
